package com.bite.book.enums;

/*
把枚举类当做是一个普通的类
枚举的赋值直接通过构造函数进行赋值
枚举的对象在类里面
 * 这个枚举类有两个参数
 * 一个是 code 一个是 name
 * */

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
public enum StatusEnum {
    DELETED(0, "无效"),
    NORMAL(1, "可借阅"),
    FORBIDDEN(2, "不可借阅");
    @Getter
    private int code;
    @Getter
    private String name;

    /*
    枚举类通常会提供一个方法，而且是静态方法
    * */
    public static StatusEnum getNameByCode(int code) {
        /*switch (code) {
            case 0:
                return DELETED;
            case 1:
                return NORMAL;
            case 2:
                return FORBIDDEN;
            default:
        }*/
        //枚举类提供一个方法
        for (StatusEnum statusEnum : StatusEnum.values()) {
            if (statusEnum.getCode() == code){
                return statusEnum;
            }
        }
        return null;
    }
}
